package com.lp.service;

import java.util.Map;

import com.lp.util.PageBean;


public interface BaseService {

	/**
	 * 检索列表
	 * 
	 * @param listSqlMapperKey
	 * @param pageBean
	 * @param param
	 * @param 可选参数1:sessionId
	 * @return
	 */
	public Map<String, Object> selectList(String sqlMapperKey, Object param, Object... params);

	/**
	 * 检索列表
	 * 
	 * @param sqlMapperKey
	 * @param pageBean
	 * @param param
	 * @param params
	 * @param 可选参数1:sessionId
	 * @return
	 */
	public Map<String, Object> selectPageList(String sqlMapperKey, PageBean pageBean, Object param, Object... params);

	/**
	 * 
	 * 检索对象
	 * 
	 * @param sqlMapperKey
	 * @param param
	 * @param params
	 * @param 可选参数1:sessionId
	 * @return
	 */
	public Map<String, Object> selectOne(String sqlMapperKey, Object param, Object... params);

	/**
	 * 
	 * 检索数量
	 * 
	 * @param sqlMapperKey
	 * @param param
	 * @param params
	 * @param 可选参数1:sessionId
	 * @return
	 */
	public int count(String sqlMapperKey, Object param, Object... params);

	/**
	 * 新增对象
	 * 
	 * @param sqlMapperKey
	 * @param param
	 * @param params
	 *            可选参数1:return_flag，可选参数2:sessionId
	 * @return
	 */
	public Map<String, Object> insert(String sqlMapperKey, Object param, Object... params);

	/**
	 * 更新对象
	 * 
	 * @param sqlMapperKey
	 * @param params
	 *            可选参数1:return_flag，可选参数2:sessionId
	 * @return
	 */
	public Map<String, Object> update(String sqlMapperKey, Object param, Object... params);

	/**
	 * 删除对象
	 * 
	 * @param sqlMapperKey
	 * @param params
	 *            可选参数1:delete_flag，可选参数2:sessionId
	 * @return
	 */
	public Map<String, Object> delete(String deleteSqlMapperKey, Object param, Object... params);
	
}
